Bound Analysis of Imperative Programs with the Size-Change Abstraction

نویسندگان

  • Florian Zuleger
  • Sumit Gulwani
  • Moritz Sinn
  • Helmut Veith
چکیده

The size-change abstraction (SCA) is an important program abstraction for termination analysis, which has been successfully imple-ion for termination analysis, which has been successfully implemented in many tools for functional and logic programs. In this paper, we demonstrate that SCA is also a highly effective abstract domain for the bound analysis of imperative programs. We have implemented a bound analysis tool based on SCA for imperative programs. We abstract programs in a pathwise and context dependent manner, which enables our tool to analyze real-world programs effectively. Our work shows that SCA captures many of the essential ideas of previous termination and bound analysis and goes beyond in a conceptually simpler framework.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Bound Analysis of Imperative Programs with the Size-change Abstraction (extended version)

The size-change abstraction (SCA) is an important program abstraction for termination analysis, which has been successfully implemented in many tools for functional and logic programs. In this paper, we demonstrate that SCA is also a highly effective abstract domain for the bound analysis of imperative programs. We have implemented a bound analysis tool based on SCA for imperative programs. We ...

متن کامل

Instrumentation Analysis: An Automated Method for Producing Numeric Abstractions of Heap-Manipulating Programs

A number of questions regarding programs involving heap-based data structures can be phrased as questions about numeric properties of those structures. A data structure traversal might terminate if the length of some path is eventually zero or a function to remove n elements from a collection may only be safe if the collection has size at least n. In this thesis, we develop proof methods for re...

متن کامل

LOOPUS - A Tool for Computing Loop Bounds for C Programs

We describe the current state of our tool Loopus which computes loop bounds for C programs. In this one-page abstract we describe the current state of our tool Loopus which automatically computes loop bounds for C programs. Loopus can also be seen as contribution towards solving the termination problem for C programs as it provides a conceptually simpler alternative to recently proposed methods...

متن کامل

From Termination to Complexity Analysis with Monotonicity Constraints

Intuitively, if we can prove that a program terminates, we expect some conclusion regarding its complexity. But the passage from termination proofs to complexity bounds is not always clear. In this work we consider Monotonicity Constraint Systems, a program abstraction where termination is decidable (based on the size-change termination principle). We show that these programs also have a decida...

متن کامل

Termination Analysis of Imperative Programs Using Bitvector Arithmetic

Currently, nearly all methods for proving termination of imperative programs apply an unsound and incomplete abstraction by treating bitvectors and bitvector arithmetic as (unbounded) integers and integer arithmetic, respectively. This abstraction ignores the wraparound behavior caused by underand overflows in bitvector arithmetic operations. This is particularly problematic in the termination ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011